using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("VisualEmoteSpell")]
	public class VisualEmoteSpell : Spell
	{
		public Spell m_FriendlySpellPrefab => method_3<Spell>("m_FriendlySpellPrefab");

		public Spell m_OpponentSpellPrefab => method_3<Spell>("m_OpponentSpellPrefab");

		public bool m_PositionOnSpeechBubble => method_2<bool>("m_PositionOnSpeechBubble");

		public int m_effectsPendingFinish => method_2<int>("m_effectsPendingFinish");

		public VisualEmoteSpell(IntPtr address, string className)
			: base(address, className)
		{
		}

		public VisualEmoteSpell(IntPtr address)
			: this(address, "VisualEmoteSpell")
		{
		}

		public new void OnBirth(SpellStateType prevStateType)
		{
			method_8("OnBirth", prevStateType);
		}

		public void FinishIfPossible()
		{
			method_8("FinishIfPossible");
		}

		public new void OnSpellFinished()
		{
			method_8("OnSpellFinished");
		}

		public void OnSpellEffectFinished(Spell spell, object userData)
		{
			method_8("OnSpellEffectFinished", spell, userData);
		}

		public void OnSpellStateFinished(Spell spell, SpellStateType prevStateType, object userData)
		{
			method_8("OnSpellStateFinished", spell, prevStateType, userData);
		}
	}
}
